uses
  Commctrl;

var
  hLV: THandle;


procedure TForm1.GetDesktopListViewHandle;
var
  s1: String;
begin
  hLV := FindWindow('ProgMan', nil);
  hLV := GetWindow(hLV, GW_CHILD);
  hLV := GetWindow(hLV, GW_CHILD);
  SetLength(s1, 40);
  GetClassName(hLV, PChar(s1), 39);
  if PChar(s1) <> 'SysListView32' then
    ShowMessage('Failed');
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  xColor: TColor;
begin
  GetDesktopListViewHandle;
  xColor := ListView_GetTextColor(hLV);
  ListView_SetTextColor(hLV, xColor);
  xColor := ListView_GetTextBkColor(hLV);
  ListView_SetTextBkColor(hLV, xColor);
  ListView_SetTextBkColor(hLV, $FFFFFFFF);
end;
